﻿//This file is part of ILoveHUSTBoard.

//ILoveHUSTBoard is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.

//ILoveHUSTBoard is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//GNU General Public License for more details.

//You should have received a copy of the GNU General Public License
//along with ILoveHUSTBoard.  If not, see <http://www.gnu.org/licenses/>.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DataHandler.message
{
    public class LoveProcessor
    {
        private MessageBoardDataContext _context;
        public LoveProcessor()
        {
            _context = new MessageBoardDataContext();
        }

        public long AddLoveCount(long messageId)
        {
            try
            {
                var resultList = from message in _context.TMessage
                                 where message.Id == messageId
                                 select message;

                if (resultList.Count() <= 0)
                    throw new ArgumentOutOfRangeException("messageId", "未找到留言");

                var result = resultList.Single();
                result.LoveCount++;
                _context.SubmitChanges();

                return result.LoveCount;
            }
            catch
            {
                return -1;
            }
        }

        public long GetLoveCount(long messageId)
        {
            try
            {
                var resultList = from message in _context.TMessage
                                 where message.Id == messageId
                                 select message;

                if (resultList.Count() <= 0)
                    throw new ArgumentOutOfRangeException("messageId", "未找到留言");

                return resultList.Single().LoveCount;
            }
            catch
            {
                return -1;//发生错误返回-1
            }
        }
    }
}
